home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / FORTH / FORTHMAC / OLD / TOOLS1 / !Forthmacs.lib.arm.newstacks < prev    next >
Text File  |  1995-11-12  |  767b  |  44 lines

  1. \ hs 07.11.95
  2. \ Changes the size of the return stack.
  3.  
  4. \ NEW-RS  ( #cells -- )        Ensures that the return stack has room
  5. \                for at least #cells entries
  6. \ NEW-PS  ( #cells -- )        Ensures that the return stack has room
  7. \                for at least #cells entries
  8.  
  9. code move-rs
  10.     r1    top        mov
  11.     top    sp        pop
  12.     r0    'user rp0    ldr
  13.     r1    'user rp0    str
  14.   begin
  15.     r0    rp        cmp
  16.   lt while
  17.     r2    r0 -(        ldr
  18.     r2    r1 -(        str
  19.   repeat
  20.       rp    r1        mov c;
  21.  
  22. : new-rs    ( #cells -- )
  23.     cells  dup alloc-mem  ( len adr )  +
  24.     move-rs ;
  25.  
  26.  
  27. code move-ps
  28.     r1    top        mov
  29.     r0    'user sp0    ldr
  30.     r1    'user sp0    str
  31.   begin
  32.     r0    sp        cmp
  33.   lt while
  34.     r2    r0 -(        ldr
  35.     r2    r1 -(        str
  36.   repeat
  37.     sp    r1    4 #    add
  38.     top    r2        mov c;
  39.  
  40. : new-ps    ( #cells -- )
  41.     cells  dup alloc-mem  ( len adr )  +
  42.     move-ps ;
  43.  
  44.